package com.sophossystems.client.asmon.dao;

import java.util.List;

import com.sophossystems.client.asmon.dto.ClientePMoralesDTO;
import com.sophossystems.client.asmon.dto.ClientePMoralesPkDTO;
import com.sophossystems.client.asmon.exceptions.DaoException;

public interface ClientePMoralesDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return ClientePMoralesPk
	 */
	public ClientePMoralesPkDTO insert(final ClientePMoralesDTO dto);

	/** 
	 * Updates a single row in the CLIENTE_P_MORALES table.
	 */
	public void update(final ClientePMoralesDTO dto) throws DaoException;

	/** 
	 * Deletes a single row in the CLIENTE_P_MORALES table.
	 */
	public void delete(ClientePMoralesPkDTO pk) throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'idCliente = :idCliente'.
	 */
	public ClientePMoralesDTO findByPrimaryKey(int idCliente) throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria ''.
	 */
	public List<ClientePMoralesDTO> findAll() throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'idCliente = :idCliente'.
	 */
	public List<ClientePMoralesDTO> findWhereIdClienteEquals(int idCliente) throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'razonSocial = :razonSocial'.
	 */
	public List<ClientePMoralesDTO> findWhereRazonSocialEquals(String razonSocial) throws DaoException;

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'fInicioActividad = :finicioactividad'.
	 
	public List<ClientePMoralesDTO> findWhereFinicioactividadEquals(Date finicioactividad) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'rfc = :rfc'.
	 
	public List<ClientePMoralesDTO> findWhereRfcEquals(String rfc) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'tel1 = :tel1'.
	 
	public List<ClientePMoralesDTO> findWhereTel1Equals(int tel1) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'ext1 = :ext1'.
	 
	public List<ClientePMoralesDTO> findWhereExt1Equals(int ext1) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'tel2 = :tel2'.
	 
	public List<ClientePMoralesDTO> findWhereTel2Equals(int tel2) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'ext2 = :ext2'.
	 
	public List<ClientePMoralesDTO> findWhereExt2Equals(int ext2) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'email = :email'.
	 
	public List<ClientePMoralesDTO> findWhereEmailEquals(String email) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'tipoActividad = :tipoActividad'.
	 
	public List<ClientePMoralesDTO> findWhereTipoActividadEquals(String tipoActividad) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'tipoRegimen = :tipoRegimen'.
	 
	public List<ClientePMoralesDTO> findWhereTipoRegimenEquals(String tipoRegimen) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'antecedentes = :antecedentes'.
	 
	public List<ClientePMoralesDTO> findWhereAntecedentesEquals(String antecedentes) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'recomienda = :recomienda'.
	 
	public List<ClientePMoralesDTO> findWhereRecomiendaEquals(String recomienda) throws DaoException;*/

	/** 
	 * Returns all rows from the CLIENTE_P_MORALES table that match the criteria 'idDireccion = :idDireccion'.
	 
	public List<ClientePMoralesDTO> findWhereIdDireccionEquals(int idDireccion) throws DaoException;*/

	/** 
	 * Returns the rows from the CLIENTE_P_MORALES table that matches the specified primary-key value.
	 
	public ClientePMoralesDTO findByPrimaryKey(ClientePMoralesPkDTO pk) throws DaoException;*/
	
	public ClientePMoralesPkDTO findLastInsert() throws DaoException;
	
	public ClientePMoralesDTO findByIdClienteGeneral(final int idClienteGeneral)
			throws DaoException;
	
	public List<ClientePMoralesDTO> busquedaPorPalabra(final String palabra) throws DaoException;
	
	
}
